package com.gali.mall.service;


import com.gali.mall.model.pojo.Category;
import com.gali.mall.model.vo.CategoryVO;
import com.gali.mall.request.categoryReq.AddCategoryReq;
import com.gali.mall.request.categoryReq.UpdateCategoryReq;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface CategoryService {
    /**
     * 增
     * @param addCategoryReq
     * @return
     */
    Boolean addCategory(AddCategoryReq addCategoryReq);

    /**
     * 删
     * @param id
     * @return
     */
    Boolean deleteCategory(Integer id);

    /**
     * 改
     * @param updateCategoryReq
     * @return
     */
    Boolean updateCategory(UpdateCategoryReq updateCategoryReq);

    /**
     * 查询全部
     * @return
     */
    List<Category> findAll();

    /**
     * 根据id查询商品
     * @param id
     * @return
     */
    Category findCategoryById(Integer id);

    /**
     * 根据级别查询商品
     * @param type
     * @return
     */
    List<Category> findCategoryByType(Integer type);

    /**
     * 根据名字模糊查询
     * @param name
     * @return
     */
    List<Category> findCategoryFromName(String name);
    /**
     * 查询分页（管理员）
     */
    PageInfo listForAdmin(Integer PageNumber,Integer pageSize);

    /**
     * 查询分页（用户）
     * @return
     */
    List<CategoryVO> listForCustomer(Integer parentId);
}
